<?php

class ProdutoController extends Zend_Controller_Action {

    public function indexAction() {
        $this->_helper->viewRenderer->setNoRender();
    }

    public function listarAction() {

        $tProduto = new DbTable_Produto();
        $produtos = $tProduto->fetchAll();

        if (!is_null($this->getParam('message'))) {
            $this->view->message = $this->getParam('message');
        }
        $this->view->produtos = $produtos;
    }
    
    public function editarAction(){
        $tProduto = new DbTable_Produto();
        $produto = $tProduto->find($this->getParam('id'))->current();
        $this->view->produto = $produto;
        
         if (!is_null($this->getParam('nm_produto'))) {
          
            $produto->nm_produto = trim(strtoupper($this->getParam('nm_produto')));
            $produto->ds_produto = trim(strtoupper($this->getParam('ds_produto')));
            $produto->nm_fabricante = trim(strtoupper($this->getParam('nm_fabricante')));
            $produto->save();
            
            $this->redirect("/produto/listar/message/" . Messages::PRODUTO_EDITADO);
           
        }

    }

    public function criarAction() {
        $this->view->return = $this->getParam('return');
        
        if (!is_null($this->getParam('nm_produto'))) {
            $tProduto = new DbTable_Produto();
            $tMercado = new DbTable_Mercado();
            $tProdutoMercado = new DbTable_ProdutoMercado();
            
            $produto = $tProduto->createRow();
            $produto->nm_produto = trim(strtoupper($this->getParam('nm_produto')));
            $produto->ds_produto = trim(strtoupper($this->getParam('ds_produto')));
            $produto->nm_fabricante = trim(strtoupper($this->getParam('nm_fabricante')));
            $produto->st_produto = TipoSituacaoProduto::NA_ESTANTE;
            $id = $produto->save();
            
            foreach ($tMercado->fetchAll() as $mercado) {
                $produtoMercado = $tProdutoMercado->createRow();
                $produtoMercado->vl_produto_mercado = 0;
                $produtoMercado->dt_ultima_atualizacao = date('d/m/Y');
                $produtoMercado->id_produto = $id;
                $produtoMercado->id_mercado = $mercado->id_mercado;
                $produtoMercado->save();
            }
            
            if ($this->getParam('return') == ''){
                $this->redirect("/produto/criar/message/" . Messages::PRODUTO_CRIADO);
            }else{
                $this->redirect('/' . str_replace('-', '/', $this->getParam('return')) . '/message/' . Messages::PRODUTO_CRIADO);
            }
        }
        
        if (!is_null($this->getParam('message'))) {
            $this->view->message = $this->getParam('message');
        }
    }

    public function excluirAction() {
        $id = $this->getParam('id');
        $tProduto = new DbTable_Produto();
        $produto = $tProduto->find($id)->current();
        $produto->st_produto = TipoSituacaoProduto::EXCLUIDO;
        $produto->save();
        
        $this->redirect('/produto/listar/message/' . Messages::PRODUTO_EXCLUIDO_SUCESSO);
        
    }

    public function cargaAction() {
        $this->_helper->viewRenderer->setNoRender();

        $tProdutoMercado = new DbTable_ProdutoMercado();
        $tColaboracao = new DbTable_ColaboracaoProduto();

        $produtos = $tProdutoMercado->fetchAll();

        foreach ($produtos as $produto) {
  
        	if (!is_null($this->getParam('data'))){
        		$valor = rand(0, 10) . "." . rand(0, 99);
        		$produto->vl_produto_mercado = $valor;
        		$produto->dt_ultima_atualizacao = str_replace('-', '/', $this->getParam('data'));
        		 
        		$colaboracao = $tColaboracao->createRow();
        		$colaboracao->dt_colaboracao = str_replace('-', '/', $this->getParam('data'));
        		$colaboracao->vl_colaboracao_produto = $valor;
        		$colaboracao->vl_pontuacao = 0;
        		$colaboracao->id_usuario = 0;
        		$colaboracao->id_produto_mercado = $produto->id_produto_mercado;
        		 
        		$produto->save();
        		$produto->refresh();
        		$colaboracao->save();
        	}
        	
        	
        	
        	$valor = rand(0, 10) . "." . rand(0, 99);
            $produto->vl_produto_mercado = $valor;
            $produto->dt_ultima_atualizacao = date('d/m/Y');

            $colaboracao = $tColaboracao->createRow();
            $colaboracao->dt_colaboracao = date('d/m/Y');
            $colaboracao->vl_colaboracao_produto = $valor;
            $colaboracao->vl_pontuacao = 0;
            $colaboracao->id_usuario = 0;
            $colaboracao->id_produto_mercado = $produto->id_produto_mercado;

            $produto->save();
            $produto->refresh();
            $colaboracao->save();
            
          
        }
    }

    public function ajaxSalvarComentarioAction() {
        $id = $this->getParam('id');
        $mensagem = $this->getParam('texto');
        $session = new Zend_Session_Namespace('role');

        $tComentario = new DbTable_Comentario();
        $comentario = $tComentario->createRow();
        $comentario->id_produto = $id;
        $comentario->tx_comentario = substr($mensagem, 0, 140);
        $comentario->dt_comentario = date('d/m/Y');
        $comentario->id_usuario = $session->idUsuario;
        $comentario->save();

        $this->_helper->viewRenderer->setNoRender();
        $this->_helper->layout->disableLayout();

        echo json_encode(array("retorno" => "ok"));
    }

}
